#ifndef HEROPLANE_H
#define HEROPLANE_H

#include "config.h"
#include <QPixmap>
#include "bullet.h"

class HeroPlane
{
public:
    HeroPlane(bool isPlayer1 = true); // 构造函数，区分玩家1和玩家2

    //发射子弹
    void shoot();
    //设置飞机位置
    void setPosition(int x, int y);

    // 获取子弹数组（用于碰撞检测）
    Bullet* getBullets() { return m_bullets; }

public:
    //飞机资源对象
    QPixmap m_Plane;

    //飞机坐标
    int m_X;
    int m_Y;

    //飞机的矩形边框
    QRect m_Rect;

    //子弹数组
    Bullet m_bullets[BULLET_NUM];

    //发射间隔记录
    int m_recorder;

    //是否为玩家1（用于区分不同玩家的子弹和位置）
    bool m_isPlayer1;

    //检测飞机是否被摧毁
    bool m_Free;
    //得分
    int m_score=0;


    //是否拥有额外子弹
        bool m_hasExtraBullets;

        //额外子弹剩余时间
        int m_extraBulletsTime;

        //激活额外子弹状态
        void activateExtraBullets(int duration);

        //更新额外子弹状态
        void updateExtraBullets();
};

#endif // HEROPLANE_H
